1. Technical Field
The present invention relates in general to improved data processing systems and in particular, to improvements in manipulating data through a graphic user interface within a data processing system. Still more particularly, the present invention relates to improvements in manipulating multiple functions and windows through a graphic user interface within a data processing system.
2. Description of the Related Art
The manipulation of data in a data processing system is well known in the prior art. Data may be manipulated in many ways in a modern state-of-the-art data processing system including: data accessing, data encoding, data communications, data compression, data conversion, data entry, data exchange, data filing, data linking, data locking, data manipulation, data mapping, data modeling, data processing, data recording, data sorting, and data transferring. The large amounts of data that are available to the user of a modern state-of-the-art data processing system often become overwhelming in magnitude and complexity.
As a result of the increasing complexity of data processing systems, attempts have been made to simplify the interface between a user and the large amounts of data present within a modern data processing system. One example of an attempt to simplify the interface between a user and a data processing system is the utilization of a so-called graphic user interface (GUI) to provide an intuitive and graphical interface between the user and the data processing system. A GUI is an interface system, including devices, by which a user interacts with a system, system components, and/or system applications via windows or view ports, icons, menus, pointing devices, etc.
The term "mouse", as utilized hereinafter, refers to any type of operating system supported graphical pointing device including, but not limited to: a mouse; track ball; light pen; touch screen; or the like. A pointing device is typically employed by a user of a data processing system to interact with the data processing system's GUI. A "pointer" is an iconic image controlled by a mouse or other such devices which is displayed on the video display device of a data processing system to visually indicate to the user icons, menus, or the like that may be selected or manipulated.
One technique for presenting a list of objects settings or choices to a user, wherein multiple objects may be selected, is the utilization of the so-called "List Box". A List Box is typically utilized to display a list of settings, choices, or objects in which the number of setting, choices, or objects may vary. A List Box generally displays the settings, choices, or objects in an order that is meaningful to the user, such as alphabetic order, numeric order, chronological order, or some other order. For example, modem baud rates are often displayed in numeric order. Typically, such List Boxes are large enough to simultaneously display a plurality of choices, such as six or eight, and such boxes often include vertical or horizontal scroll bars, if the data is too large to be entirely visible within the List Box.
A "scroll bar" is a known user interface component that is associated with a scrollable area of a display, indicating to a user that more information is available and may be added in a particular direction with respect to the display. A scroll bar may be utilized to scroll additional data into view, and a scroll bar typically includes a slider and scroll buttons.
Another relatively recent advancement in the computer arts allows a user to simultaneously access, display, and manipulate data from a variety of related and/or unrelated computer application programs. This process is generally referred to as "multi-tasking". In a true multi-tasking system, several application programs are active simultaneously. Displays from each of these applications may be provided within a two-dimensional display system by presenting overlapping data collections in multiple layers in a simulated three-dimensional manner within a data processing system. Each of these layers presents data associated with a particular data collection and these layers typically overlap and may partially or completely obscure each other and the data therein.
Certain inherent problems, however, exist in such multi-tasking systems. In order to reach data that the user desires to manipulate, the user must often follow a different and sometimes complicated procedure for each application program and, within each program, at each level of data type, such as file, page, or word, that the user attempts to access. Consequently, the user faces a loss of time because of the number of keystrokes necessary simply to obtain a visual image of a particular data collection in such an overlapping simulated three-dimensional display. In addition to the steps taken to reach data for manipulation, a multitude of functions may be performed upon the data depending on the type of data present and the application utilized.
Thus, those skilled in the data processing art will appreciate that while simple lists of objects or settings choices or overlapping windows may be displayed in a GUI, the types of data which are displayable within such a scrollable list are typically limited to a simple column of possible choices or objects and, in more complex data collections such as those which may be displayed within a window, the techniques necessary to visually access that data are often complex and time consuming. Additionally, a large number of functions may be performed upon such complex data collections adding to the complexity of manipulating data.
Therefore, it would be desirable to have a method and system for manipulating displayed data collections within a data processing system in an uncomplicated and rapid fashion.